/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ejemplo.bt.monedas.services;

import com.core.bs.BusinessException;
import com.core.pf.PersistentBroker;
import com.core.pf.PersistentException;
import com.core.pf.RetrieveCriteria;
import com.ejemplo.bt.cuentas.vo.Cuenta;
import com.ejemplo.bt.monedas.vo.Moneda;
import com.ejemplo.bt.usuarios.vo.Usuario;
import java.util.List;

/**
 *
 * @author Usuario
 */
public class MonedaServices {
    // Eliminar
    public void eliminarMoneda(long idMoneda) throws BusinessException {
        try {
            RetrieveCriteria criteria = new RetrieveCriteria(Moneda.class);
            criteria.addPkToCriteria(new Long(idMoneda));
            
            PersistentBroker broker = new PersistentBroker();
            broker.deleteObject(criteria);
            
        }
        catch(PersistentException pex) {
            throw new BusinessException(pex);
        }        
    }

    
    // Obtener una Moneda
    public Moneda obtenerMoneda(long idMoneda) throws BusinessException {
        try {
            RetrieveCriteria criteria = new RetrieveCriteria(Moneda.class);
            criteria.addPkToCriteria(new Long(idMoneda));
            
            PersistentBroker broker = new PersistentBroker();
            Moneda m = (Moneda) broker.retrieveObject(criteria);
            
            return m;
        }
        catch(PersistentException pex) {
            throw new BusinessException(pex);
        }        
    }
    
    
   // Obtener todas las cuentas
    public List<Moneda> obtenerMonedas() throws BusinessException {
        try {
            RetrieveCriteria criteria = new RetrieveCriteria(Moneda.class);
            criteria.addOrder("moneda", RetrieveCriteria.ASCENDING);

            PersistentBroker broker = new PersistentBroker();
            List<Moneda> monedas = broker.processCriteria(criteria);
            
            return monedas;
        }
        catch(PersistentException pex) {
            throw new BusinessException(pex);
        }        
    }
    
   


    // Salvar una Moneda
    public Moneda salvarMoneda(Moneda moneda) throws BusinessException {
        try {
            PersistentBroker broker = new PersistentBroker();
            if(moneda.getIdMoneda() ==0){
               broker.saveObject(moneda); 
            }else{
                broker.updateObject(moneda);
            }
            return moneda;
        }
        catch(PersistentException pex) {
            throw new BusinessException(pex);
        }        
    }
    
}
